home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / MacGzip 1.0 / source / Mac / GzPStrings.h < prev    next >
Text File  |  1995-08-14  |  853b  |  42 lines

  1. /*
  2.  * SPDStrings.h
  3.  * (C) SPDsoft, August 13, 1995
  4.  *
  5.  * Some String utils
  6.  */
  7.  
  8. #ifndef _SPD_STRINGS_
  9. #define _SPD_STRINGS_
  10.  
  11. #ifdef    _SPD_StrCpy_BM_
  12. #    define    PStrCpy(dest,src)        BlockMove((src), (dest), *(src) + 1 )
  13. #else
  14.  
  15. /*
  16.  * From keith@taligent.com (Keith Rollin), Jim Reekes
  17.  *
  18.  * This way, C will create an inline loop that copies the
  19.  * string 4 bytes at a time in 64 iterations.
  20.  *
  21.  * (works with MPW C and Symantec C, at least
  22.  */
  23.  
  24.  
  25. typedef struct {
  26.      Str255 string;
  27. } Str255Struct;
  28.  
  29. #    define    PStrCpy(a,b)  *(Str255Struct*) (a) = *(Str255Struct*) (b)
  30.  
  31. #endif
  32.  
  33.  
  34. void    PStrCat( Str255 sio, Str255 si );
  35. void    CStrToStr255( Str255 pstr, char *s );
  36. void    Str255ToCStr( char *s, Str255 pstr );
  37.  
  38.  
  39. OSType    Str255ToOSType( Str255 pstr );
  40. #define OSTypeToStr255( pstr, osty ) BlockMove( (osty), (pstr) + 1, sizeof(OSType)); *pstr = sizeof(OSType)
  41.  
  42. #endif